package com.huitone.gddw.dao.worktable.paramconfigmanage;

import java.util.List;
import java.util.Map;

import com.huitone.gddw.dao.entity.PriRuleDef;
import com.huitone.gddw.service.dto.PriRuleDefDTO;

public interface IPriRuleDefDao {
	/**
	 * 删除记录
	 * @param ruleId
	 * @return
	 */
    int deleteByPrimaryKey(String ruleId);

    int insert(PriRuleDef record);

    /**
     * 新增记录
     * @param record
     * @return
     */
    int insertSelective(PriRuleDef record);

    /**
     * 根据主键查询记录
     * @param ruleId
     * @return
     */
    PriRuleDef selectByPrimaryKey(String ruleId);
    /**
     * 根据优先级查询
     * @param level
     * @return
     */
    List<PriRuleDef> getByLevel(int level);

    /**
     * 修改记录（为空不修改）
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(PriRuleDef record);

    /**
     * 修改记录（为空也修改）
     * @param record
     * @return
     */
    int updateByPrimaryKey(PriRuleDef record);
    
    /**
     * 页面列表查询
     * @param map
     * @return List<PriRuleDefDTO> 
     */
    List<PriRuleDefDTO> selectPage(Map<String,Object> map);
    /**
     * 查询总记录数
     * @param map
     * @return
     */
    int selectCount(Map<String,Object> map);
    /**
     * 根据查询参数，返回记录
     * @param map
     * @return List<PriRuleDefDTO>
     */
    List<PriRuleDefDTO> getRecord(Map<String,Object> map);
    
    /**
     * 获取所有优先级规则
     * @return List<PriRuleDef>
     */
    List<PriRuleDef> getAll();

}